home *** CD-ROM | disk | FTP | other *** search
- #
- # aggregate.make
- #
- # Variable definitions and rules for building aggregate projects. An
- # aggregate is a project which does not itself contain any code or
- # resources, but instead contains a number of related subprojects. For
- # example, if you have a framework, a palette which palettizes the framework
- # classes, and some applications which use the palette, then you would
- # create an aggregate which contains all of them.
- #
- # PUBLIC TARGETS
- # aggregate: synonymous with all
- #
- # IMPORTED VARIABLES
- # none
- #
- # EXPORTED VARIABLES
- # none
- #
-
- .PHONY: aggregate all
- aggregate: all
- PROJTYPE = AGGREGATE
-
- include $(MAKEFILEDIR)/common.make
-
- -include $(LOCAL_MAKEFILEDIR)/aggregate.make.preamble
-
- #
- # ensure that subprojects will have access to each other's products
- #
-
- RECURSIVE_CFLAGS += -I$(SYMROOT)/Headers -I$(SYMROOT)/PrivateHeaders -F$(SYMROOT)
- RECURSIVE_LDFLAGS += -F$(SYMROOT) -L$(SYMROOT)
-
- #
- # unlike most project types, the aggregate does no processing on its
- # own and simply recursively invokes the given target on all subprojects
- #
-
- all: banner-for-all $(RECURSABLE_DIRS:%=all@%)
- clean: banner-for-clean $(RECURSABLE_DIRS:%=clean@%)
- mostlyclean: banner-for-mostlyclean $(RECURSABLE_DIRS:%=mostlyclean@%)
- prebuild: banner-for-prebuild $(RECURSABLE_DIRS:%=prebuild@%)
- build: banner-for-build $(RECURSABLE_DIRS:%=build@%)
- installhdrs: banner-for-installhdrs $(RECURSABLE_DIRS:%=installhdrs@%)
- ifeq ($(OS)-$(REINSTALLING)-$(STRIP_ON_INSTALL), WINDOWS--YES)
- install: all
- $(MAKE) reinstall-stripped REINSTALLING=YES
- else
- install: banner-for-install $(BEFORE_INSTALL) $(RECURSABLE_DIRS:%=install@%) $(AFTER_INSTALL)
- endif
-
-
- $(RECURSABLE_DIRS:%=all@%): banner-for-all
- $(RECURSABLE_DIRS:%=clean@%): banner-for-clean
- $(RECURSABLE_DIRS:%=mostlyclean@%): banner-for-mostlyclean
- $(RECURSABLE_DIRS:%=prebuild@%): banner-for-prebuild
- $(RECURSABLE_DIRS:%=build@%): banner-for-build
- $(RECURSABLE_DIRS:%=installhdrs@%): banner-for-installhdrs
- $(RECURSABLE_DIRS:%=install@%): banner-for-install
-
- BANNER_TARGET = $(subst banner-for-,,$@)
- banner-for-%:
- $(SILENT) $(ECHO) == Making $(BANNER_TARGET) for $(TARGET_ARCHS) in $(ALL_SUBPROJECTS) ==
-
- #
- # Special rules for making stripped targets on NT
- # Note that this section is duplicated in install.make, and any
- # changes made here must be reflected there.
- #
-
- ifeq "$(OS)" "WINDOWS"
- include $(MAKEFILEDIR)/reinstall.make
- endif
-
- -include $(LOCAL_MAKEFILEDIR)/aggregate.make.postamble
-
-